Model predictive pulse pattern control based on small-signal pulse pattern optimization

ABSTRACT

Disclosed herein is a method for controlling an electrical converter system that includes: determining a nominal pulse pattern (tp,i*, Δup,i*) and a reference trajectory (x*) of at least one electrical quantity of the electrical converter system over a horizon of future sampling instants, the nominal pulse pattern (tp,i*, Δup,i*) comprises switching transitions (Δup,i*) between output voltages of an electrical converter of the electrical converter system and the reference trajectory (x*) indicates a desired future development of an electrical quantity of the converter system; determining a small-signal pulse pattern (ũabc(t, λp,i)) by minimizing a cost function; determining a modified pulse pattern (topt,p,i, Δup,i) by moving the switching transitions of the nominal pulse pattern (tp,i*, Δup,i*) to generate modified switching transitions; and applying at least the next switching transition of the modified pulse pattern (topt,p,i, Δup,i) to the electrical converter system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a National Stage Entry of International Patent Application No. PCT/EP2020/077246, filed Sep. 29, 2020 and titled “MODEL PREDICTIVE PULSE PATTERN CONTROL BASED ON SMALL-SIGNAL PULSE PATTERN OPTIMIZATION”, which claims priority to European Patent Application No. 19202732.4, filed Oct. 11, 2019 and titled “MODEL PREDICTIVE PULSE PATTERN CONTROL BASED ON SMALL-SIGNAL PULSE PATTERN OPTIMIZATION”, each of which are hereby incorporated by reference in their entirety.

BACKGROUND

The present disclosure relates to the field of control of electrical converters. In particular, the present disclosure relates to a method, a computer program, a computer-readable medium and a controller for controlling an electrical converter system. Additionally, the present disclosure relates to an electrical converter system.

Optimized pulse patterns (OPP) are particularly suitable for medium-voltage converters thanks to their low total harmonic distortions (THD) at low switching frequencies. To achieve fast closed-loop control and to reject disturbances, model predictive control (MPC) methods are promising for power electronic applications. In particular, model predictive pulse pattern control (MP³C) may be seen as an adaptation of the MPC principle to the control problem of OPPs. MP³C controls the stator flux vector of an electrical machine along its nominal trajectory by manipulating the switching instants of the OPP. For example, EP 2 469 692 A1 describes such a method, in which switching instants of an optimized pulse pattern are modified to reduce a flux error.

However, MP³C is usually only applicable to first-order systems, such as electrical machines. For these, the stator flux in the orthogonal coordinate system is the integral of the applied converter voltage (when neglecting the voltage drop due to the stator resistance). When considering higher-order systems, such as converters with LC filters, the internal model of MP³C may not capture the resonant behaviour of the power converter circuit. To account for this, MP³C may need to be augmented by an additional damping term in its cost function or an outer damping loop must be added. Whilst these approaches may be effective during steady-state operation, the performance during large transients may be rather poor. More specifically, to avoid exciting the filter resonance too strongly, large reference step changes may have to be filtered by a ramp-limiter, resulting in a sluggish step response.

WO 2016/134874 A1 relates to time shifting of switching instants of an optimized pulse pattern. The time shifting is done with model predictive control, in which an objective function based on a flux error is minimized.

The following articles relate to converter control based on model predictive control and mention linearization of optimization problems:

-   Quevedo et al: “Model Predictive Control for Power Electronics     Applications” In: “Handbook of Model Predictive Control”, 30 Nov.     2018 (2018-11-30), Springer International Publishing, pages 551-580 -   Geyer et al: “Hybrid Model Predictive Control of the Step-Down DC-DC     Converter”, IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, IEEE     SERVICE CENTER, NEW YORK, N.Y., US, vol. 16, no. 6, 1 Nov. 2008,     pages 1112-1124 -   Cairano et al: “Model predictive controller matching: Can MPC enjoy     small signal properties of my favorite linear controller?”, 2009     EUROPEAN CONTROL CONFERENCE (ECC), IEEE, 23 Aug., 2009, pages     2217-2222

BRIEF DESCRIPTION

The present disclosure provides a controller for an electrical converter based on optimized pulse pattern, which also has a good performance during transient operations and/or which can be used for converter systems being higher-order physical systems.

Further exemplary embodiments are evident from the dependent claims and the following description.

An aspect of the present disclosure relates to a method for controlling an electrical converter system. In particular, the method may be applied to a converter system including an electrical converter and a further component supplied by the converter, such as an electrical machine, a resonant subsystem and/or a cable with high impedance. The resonant subsystem may be a filter, such as an LC or LCL filter. As already mentioned, LC filters may result in a mathematical model of higher order, which may be addressed with the present method. The method may be automatically performed by a controller of the converter system.

According to an embodiment of the present disclosure, the method includes: determining a nominal pulse pattern and a reference trajectory of at least one electrical quantity of the electrical converter system over a horizon of future sampling instants, wherein the nominal pulse pattern and the reference trajectory are determined from a table of optimized pulse patterns, the nominal pulse pattern includes switching transitions between output voltages of an electrical converter of the electrical converter system and the reference trajectory indicates a desired future development of an electrical quantity of the converter system;

A pulse pattern may include switching instants and an output level of a phase of the converter at the switching instant. The pulse pattern and all quantities mentioned below may be multi-phase quantities, i.e. may have values for every phase of the converter system.

A switching instant may be a time, at which the converter is switched. A sampling instant may be a time, for which future quantities in the controller are calculated. For example, sampling instants may be equidistant with respect to each other. A switching instant may be situated between two sampling instants.

The nominal pulse pattern may be determined by the controller online from a lookup table of offline optimized pulse patterns, which may have been determined with respect to an optimization goal for steady-state operation.

Furthermore, for one electrical quantity or multiple electrical quantities of the converter system reference trajectories may be determined. The electrical quantities may include a converter current, a grid current, a filter capacitor voltage, etc. In general, an electrical quantity may be a current and/or voltage and/or flux of a component of the converter system.

This may be done by extrapolating the quantities from actual values, which may have been determined from measurements, into the future. The extrapolation may be done with a mathematical model of the converter, which may include differential equations for the quantities. It also may be that the reference trajectories already have been determined offline for the optimized pulse patterns and are read from a lookup table.

According to an embodiment of the present disclosure, the method further includes: determining a small-signal pulse pattern by minimizing a cost function, which cost function includes a small-signal error, which is based on a difference of the reference trajectory and the predicted trajectory. The small-signal pulse pattern may encode an instantaneous voltage-time impulse at each switching transition of the nominal pulse pattern. The position in time of the impulse is given by the switching instant, whereas the amplitude or strength of the impulse relates to a voltage-time area when modifying this switching transition. The predicted trajectory may be determined over the horizon from measurements in the converter system and from a model of the converter system, into which a sum of the nominal pulse pattern and the small-signal pulse pattern are input and/or inputs.

The cost function may be a function of the small-signal pulse pattern and in particular it may be a function of the instantaneous voltage-time impulses, which may be encoded with a set of voltage-time values. The cost function may be a quadratic function of these voltage-time values.

The small-signal error may be determined from a difference of the reference trajectory and a predicted trajectory. More specifically, at future time steps differences of values of these trajectories are determined and a weighted norm of these differences quantifies the result as a scalar. The cost function may be determined to output the small-signal error.

The model, which may be seen as a mathematical and/or physical model of the converter system, may model differential equations of quantities of the converter system, such as a converter current, a capacitor voltage, a grid current, a machine current, a flux, etc. The differential equations may be processed in the form of difference equations. In general, the quantities may include currents and/or voltages and/or fluxes of components of the converter system. The cost function may be composed of quantities, which are determined based on the mathematical model. These quantities may be assembled into matrices and/or vectors, which are used in the cost function.

All these quantities may be seen as trajectories over time. For each quantity, sequences of values over time, i.e. trajectories, may be determined.

It may be that the prediction and/or optimization takes place with respect to constraints, such as minimal and maximal voltages and/or currents for specific components of the converter, such as a DC link voltage, a magnitude of an output current and/or output voltage of the converter, etc.

The prediction and/or optimization may lead to a quadratic program, which is implemented in the controller. In this case, the controller solves equations of matrices and vectors, which have been filled before, based on measurements, the reference trajectory and/or the small-signal pulse pattern before.

According to an embodiment of the present disclosure, the method further includes: determining a modified pulse pattern by moving the switching transitions of the nominal pulse pattern, wherein a switching transition is moved by a time interval, such that the time interval multiplied with a direction of the switching transition equals the voltage-time value at the switching transition. In other words, the strengths of the impulses are equal to the voltage-time areas that are added to the nominal pulse pattern to obtain the modified pulse pattern. Here, the direction of the switching transition may refer to a voltage difference and/or a sign of this voltage difference defined by the switching transition.

In this way, not the pulse pattern itself, but the small-signal pulse pattern is optimized, which may simplify the computational burden when solving the optimization problem significantly. Basically, using the small-signal pulse pattern may be seen as a linearization around the nominal switching instants.

According to an embodiment of the present disclosure, the method further includes: applying at least the next switching transitions of the modified pulse pattern within the sampling interval to the electrical converter system. It may be that a receding horizon policy is performed by the controller, i.e. that the modified pulse pattern and/or the small-signal pulse pattern is determined over a horizon of more than one sampling instant and that solely the next switching transition or the switching transitions up to the next sampling instant are applied to the converter.

In general, the method may be applied to any linear converter system with multiple state variables and integer switch positions, which is modulated by optimized pulse patterns. Both continuous and discontinuous switching angles may be used. The method may regulate the converter system states along their reference trajectories, may manipulate the switch positions (or, effectively, the switching instants and switching transitions) of the converter and may modulate the converter with a modified optimized pulse pattern. The modifications to the pulse pattern may be approximated with the strengths of voltage-time impulses, that is, the normalized volt-second contribution of the impulse. These impulses may be called voltage-time impulses herein. Their strengths may be called voltage-time values.

The usage of the small-signal pulse pattern may be seen as a linearization around the switching instants. As a result, the evolution of the state error may be described by a set of linear differential equations. The optimization problem encoded by the cost function and optionally further constraints may penalize a tracking error and optionally a deviation from the unmodified switching instants. It has to be noted that the optimization problem may be formulated as a convex quadratic program and thus may be computationally relatively easy to solve.

On the other hand, during steady-state operation, the superior harmonic performance of optimized pulse patterns may be achieved. Furthermore, during transients, disturbances and/or faults a fast response may be achieved. One example for this may be a superior low voltage ride-through capability.

Electrical resonances in the converter system may not be excited and/or any related oscillations may be to be actively damped.

The method may be insensitive to measurement and observer noise, and may be robust with respect to parameter uncertainties, such as unknown variations in the system parameters. Examples for this may include variations in inductors and/or capacitors of the converter system.

According to an embodiment of the present disclosure, the switching transitions of the modified pulse pattern during an actual and/or current sampling interval are applied to the electrical converter system. The small-signal pulse pattern and the modified pulse pattern may be determined during an actual and/or current sampling interval for a horizon of more than one future sampling interval. Only the switching transitions of the modified pulse pattern during the current sampling interval may be applied to the converter system.

According to an embodiment of the present disclosure, during the current sampling interval, the small-signal pulse pattern and the modified pulse pattern are determined again for a horizon starting with the next sampling interval. In other words, a receding horizon policy may be applied. The small-signal pulse pattern and the modified pulse pattern may be determined at every sampling interval for a horizon longer than one sampling interval.

According to an embodiment of the present disclosure, the cost function is a quadratic function in the voltage-time values, which are arranged into a vector of voltage-time values. The cost function may include a quadratic term with a model matrix, which is multiplied at both sides by the vector of voltage-time values and a linear term with a model vector multiplied by the vector of voltage-time values. The structure of the model matrix and the model vector may be determined offline, and/or online by inputting the measurements, the reference trajectory, and the small-signal pulse pattern into the mathematical model of the electrical converter.

According to an embodiment of the present disclosure, the model matrix and the model vector are determined from measurements in the converter, the reference trajectory, and the small-signal pulse pattern, such that the cost function encodes the small-signal error. With the known structure of the model matrix and the model vector, the values of the entries of the model matrix and the model vector can be determined online from measurements in the converter system, the reference trajectory, and the small-signal pulse pattern.

According to an embodiment of the present disclosure, the cost function additionally minimizes a magnitude of the voltage-time impulses, the voltage-time values. For example, the cost function may include a quadratic term with a penalty matrix, which is multiplied at both sides by the vector of voltage-time values. The penalty matrix may be a positive semidefinite matrix, which penalizes the voltage-time values of deviating from zero.

According to an embodiment of the present disclosure, the small-signal pulse pattern is determined by minimizing the cost function subject to constraints. These constraints may include constraints on voltages and/or currents in the converter system, in particular that these voltages and/or currents do not leave a bounding interval. A bounding interval may be defined by a constant minimum and a constant maximum.

According to an embodiment of the present disclosure, the voltage-time values of the small-signal pulse pattern are constrained, such that the modified switching transitions in a phase stay in the original order.

According to an embodiment of the present disclosure, the optimal small-signal pulse pattern is determined by solving a quadratic program into which the small-signal pulse pattern, the reference trajectory, and the measurements are input and/or are inputs. The quadratic program may be based on a cost function quadratic in the voltage-time values (such as describe above) and optionally constraints (such as mentioned above). At every sampling instant, the quadratic program may be solved numerically by the controller for determining the voltage-time values.

According to an embodiment of the present disclosure, the method further includes: determining an incumbent pulse pattern over the horizon, wherein the incumbent pulse pattern includes the modified switching transitions determined at the previous sampling instant and the remaining switching transitions of the nominal pulse pattern up to the horizon.

When the method already has determined a modified pulse pattern, the incumbent pulse pattern may be used instead of the nominal pulse pattern to optimize the voltage-time values of the small-signal pulse pattern. To enhance the accuracy of the approximations, the linearization at subsequent time steps may be done around the modified switching instants computed at the previous time step rather than around the switching instants of the nominal pulse pattern.

In particular, the predicted trajectory may be determined from the model of the converter system, into which a sum of the incumbent pulse pattern and the small-signal pulse pattern are the input. The model matrix and the model vector used for forming a quadratic cost function may be determined from the reference trajectory, the measurements, and the small-signal pulse pattern.

According to an embodiment of the present disclosure, the small-signal pulse pattern encodes instantaneous voltage-time impulses, which may be encoded by impulse strengths, at each switching transition of the incumbent pulse pattern. In other words, the time instants of the instantaneous voltage-time impulses of the small-signal pulse pattern are moved to the ones of the incumbent pulse pattern (instead of the nominal pulse pattern). This may enhance the accuracy of the linear approximations around the switching instants.

According to an embodiment of the present disclosure, a difference pulse pattern is determined, which encodes at least one rectangular voltage-time area to compensate a difference between the nominal pulse pattern and the incumbent pulse pattern. The difference pulse pattern may encode a rectangular voltage-time area at some or all switching transitions of the incumbent switching pattern. To account for the difference between the nominal pulse pattern and the incumbent pulse pattern, rectangular voltage-time areas may be included along with the small-signal pulse pattern. The difference pulse pattern may be the difference of the nominal pulse pattern and the incumbent pulse pattern determined at the previous sampling instant. The voltage time area at a switching transition may be equal to a difference of the time-instants of the nominal pulse pattern and the incumbent pulse pattern multiplied by the direction of the switching transition. It has to be noted that the rectangular voltage-time areas, which represent previous switching instant modifications, are not optimized but are used for compensating the differences between the nominal pulse pattern and the incumbent pulse pattern.

According to an embodiment of the present disclosure, the optimized pulse patterns and the reference trajectory are determined offline and stored in a lookup table. An optimized pulse pattern may be determined for each modulation index and each pulse number, which are used in the converter system. The actual modulation index and pulse number may be determined from actual reference values and/or measurements in the converter system.

The optimized pulse patterns may have been calculated offline with respect to a specific optimization goal, such as a minimal total demand distortion of the current during steady-state operation. The optimized pulse patterns may be stored in a lookup table in the controller.

One or more reference trajectories also may have been determined offline for the optimized pulse patterns. The values for these reference trajectories also may be stored in a lookup table in the controller.

Further aspects of the present disclosure relate to a computer program, which when executed by a processor is adapted for performing the method as described above and below and to a computer-readable medium, in which such a computer program is stored. The method may be implemented in software and may be run on a controller having a processor and a memory in which the computer program is stored.

A computer-readable medium may be a floppy disk, a hard disk, an USB (Universal Serial Bus) storage device, a RAM (Random Access Memory), a ROM (Read Only Memory), an EPROM (Erasable Programmable Read Only Memory) or a FLASH memory. A computer readable medium may also be a data communication network, e.g. the Internet, which allows downloading a program code. In general, the computer-readable medium may be a non-transitory or transitory medium.

A further aspect of the present disclosure relates to a controller for an electrical converter adapted for performing the method as described above and below. It has to be noted that the method also may be at least partially implemented in hardware, for example in a DSP or FPGA.

A further aspect of the present disclosure relates to a converter system, which includes an electrical converter interconnected with an electrical grid and a controller as described above and below.

According to an embodiment of the present disclosure, the converter system further includes a resonant subsystem including at least one of inductors and a filter. For example, the resonant subsystem may be an LC filter or a cable, which may have a high impedance. The model of the converter system used during the optimization of the cost function may include a model of the electrical converter and the resonant subsystem. In particular, the resonant subsystem may result in differential equations of higher order.

It has to be understood that features of the method as described in the above and in the following may be features of the converter system, computer program, the computer readable medium and the controller, as described in the above and in the following, and vice versa.

These and other aspects of the present disclosure will be apparent from and elucidated with reference to the embodiments described hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter of the present disclosure will be explained in more detail in the following text with reference to exemplary embodiments which are illustrated in the attached drawings.

FIG. 1 schematically shows a converter system according to an embodiment of the present disclosure.

FIG. 2 shows a block diagram for a controller according to an embodiment of the present disclosure.

FIGS. 3A and 3B show pulse patterns, which are used in a method according to an embodiment of the present disclosure.

In principle, identical parts are provided with the same reference symbols in the figures.

DETAILED DESCRIPTION

FIG. 1 shows a converter system 10 including an electrical converter 12 and an LC filter 14, which are coupled with an electrical grid 16. The further respective quantities shown in FIG. 1 are listed in the end of the present description. FIG. 1 also shows a controller 18, which is adapted for performing the method for controlling the converter system 10, as described herein.

The LC filter 14 may include filter inductors L and filter resistors R connected between the converter 12 and the grid 16, and filter resistors R_(C) and filter capacitors C connected to the interconnection of the converter 12 and the grid 16.

As shown, the electrical converter 12 may be a neutral-point-clamped converter having a neutral-point-clamped phase leg 20 for each output phase. Other converters 12, such as T-type converters, modular multi-level converters and/or converters with flying capacitors may be used as multi-level converter 12. Also, two-level converters could be used.

FIG. 2 is a further drawing of the system 10, where the controller 18 is shown in more detail. The controller 18 includes a pulse pattern selector 20, a reference trajectory generator 22, a small-signal optimizer 24, an incumbent pulse pattern determiner 26 and a Clarke transformation block 28.

A method for controlling the converter system 10, which may be automatically performed by the controller 18, will be explained with respect to the different blocks 20, 22, 24, 26, 28 in the following.

In a first step, depending on the grid voltage v_(g), the grid current reference I_(g)* and the grid phase reference ϕ_(g)*, an appropriate optimized pulse pattern is selected by the pulse pattern selector 20. The pulse pattern selector 20 then provides the nominal switching instants t_(p,i)* and the nominal switching transitions Δu_(p,i)* of a nominal pulse pattern.

Offline computed OPPs are a specific pulse width modulation (PWM) method. Unlike carrier-based PWM or space vector modulation, OPPs abandon the notion of the fixed modulation interval with one switching transition per phase and modulation (half)interval. The removal of these restrictions facilitates the computation of optimal switching angles that minimize the harmonic current distortions for a given switching frequency.

The switching instants and switch positions of an OPP are typically computed for one phase over a quarter of a fundamental period, assuming quarter- and half-wave symmetry and a 120° phase shift between the three phases.

In a second step, the optimal state reference trajectory x* is generated by the reference trajectory generator 22 from the nominal pulse pattern t_(p,i)*, Δu_(p,i)*.

In summary, a nominal pulse pattern t_(p,i)*, Δu_(p,i)* and at its corresponding reference trajectory x* of the electrical converter system 10 are determined over a horizon of future sampling instants, wherein the nominal pulse pattern t_(p,i)*, Δu_(p,i)* and the corresponding reference trajectory x* are determined from a table of optimized pulse patterns. The nominal pulse pattern t_(p,i)*, Δu_(p,i)*, includes switching transitions Δu_(p,i)*, between output voltages of an electrical converter 12 of the electrical converter system 10 and the reference trajectory x* indicates a desired future development of the electrical quantities of the converter system 10.

The optimized pulse patterns and optionally the reference trajectory x* may be determined offline and stored in lookup tables in block 20 and block 22, respectively.

In a third step, the small-signal optimizer 24 receives measurement values, such as the converter current i, the filter capacitor voltage v_(c) and the grid current i_(g), which have been measured in the system 10 and which have been Clarke transformed by block 28.

The Clarke Transformation

ξ_(αβ) =Kξ _(abc)  (1)

maps any variable ξ_(abc)=[ξ_(a)ξ_(b)ξ_(c)]^(T) in the abc-plane to the two-dimensional vector ξ_(αβ)=[ξ_(α)ξ_(β)]^(T) in the αβ-plane via the transformation matrix

$K = {{\frac{2}{3}\begin{bmatrix} 1 & {- \frac{1}{2}} & {- \frac{1}{2}} \\ 0 & \frac{\sqrt{3}}{2} & {- \frac{\sqrt{3}}{2}} \end{bmatrix}}.}$

Herein, all variables in the abc-plane are denoted by their corresponding subscript, whereas the subscript is dropped for those in the αβ-plane.

From the measurements, the small-signal optimizer 24 calculates an initial small-signal error, {tilde over (x)}₀=x₀−x₀*. It then builds the Hessian H with the help of (44), see below, and the model vector c with the help of (50) and (51). By solving the QP (61), the vector of optimal impulse strengths Λ_(opt) is found.

A small-signal pulse pattern ũ_(abc)(t,λ_(p,i)), which may be provided as a vector of optimal impulse strengths Λ_(opt), is determined by minimizing a cost function, which cost function includes a small-signal error, which is based on a difference of the reference trajectory x* and the predicted trajectory x. The impulse strengths λ_(p,i) of the small-signal pulse pattern ũ_(abc)(t, λ_(p,i)) encode a voltage-time value λ_(p,i) at each switching transition of the nominal pulse pattern t_(p,i)*, Δu_(p,i)*, and wherein the predicted trajectory x is determined over the horizon from measurements i, v_(c), i_(g) in the converter system and from a model of the converter system 10, into which a sum of the nominal pulse pattern t_(p,i)*, Δu_(p,i)*, and small-signal pulse pattern ũ_(abc) (t, λ_(p,i)) are input and/or are inputs.

After that, in a fourth step, the strengths λ_(p,i) are translated back to the switching instant modifications Δt_(opt,p,i) by the small-signal optimizer 24, which are then added to the switching instants t_(p,i)* of the nominal pulse pattern or to the switching instants t_(p,i)′ of the incumbent pulse pattern (see below) to determine the modified switching instants t_(opt,p,i) of the modified pulse pattern, in accordance with (63).

A modified pulse pattern t_(opt,p,i), Δu_(p,i) is determined by moving the switching transitions of the nominal pulse pattern t_(p,i)*, Δu_(p,i)*, wherein a switching transition is moved by a time interval, such that the time interval times a direction of the switching transition equals the voltage-time value that the impulse strength λ_(p,i) encodes at the nominal switching transition.

Only the switching transitions of the modified pulse pattern t_(opt,p,i), Δu_(p,i) within the sampling interval are then applied to the electrical converter 12.

Optionally, it may be that the method also uses an incumbent pulse pattern t_(p,i)′, Δu_(p,i) instead of the nominal pulse pattern in the small-signal optimizer 24.

In this case, the modified switching instants t_(p,i)′ and the switching transitions Δu_(p,i) determined at a sampling instant are stored as the incumbent pulse pattern by block 26. The incumbent pulse pattern t_(p,i)′, Δu_(p,i) is updated at each sampling instant. At the subsequent sampling instant, the incumbent switching pattern t_(p,i)′, Δu_(p,i) is an input (instead of the nominal pulse pattern) into the optimizer 24.

In summary, an incumbent pulse pattern t_(p,i)′, Δu_(p,i) is determined over the horizon, wherein the incumbent pulse pattern t_(p,i)′, Δu_(p,i) includes the modified switching transitions t_(opt,p,i) determined at the previous sampling instant and the remaining switching transitions of the nominal pulse pattern t_(p,i)*, Δu_(p,i)* up to the horizon. In the optimizer 24, the predicted trajectory x is determined from the model of the converter system 10, into which a sum of the incumbent pulse pattern t_(p,i)′, Δu_(p,i) and small-signal pulse pattern ũ_(abc)(t,λ_(p,i)) is the input.

The above steps may be repeated at each sampling instant. Note that the first two steps may be only required, if the operating conditions of the converter system 10 change.

In the method, several types of pulse patterns are used, which are shown in FIGS. 3A and 3B.

The nominal pulse pattern u* is determined from the offline calculated optimized pulse pattern. The three-phase nominal pulse pattern is denoted by u_(abc)*(t). Its switching transitions occur at time instants t_(p,i)*.

The incumbent pulse pattern u may be used by the controller 18 as a starting point, i.e. the pulse pattern whose switching transitions are modified. The three-phase incumbent pulse pattern is denoted by u_(abc) (t). Its switching transitions occur at t_(p,i)′.

The impulse strengths (or voltage-time values) λ_(p,i) of the small-signal pulse pattern ũ are optimized by the small-signal optimizer 24. The small-signal pulse pattern ũ includes a train of Dirac delta functions (also known as impulses) at switching instants t_(p,i)′ with impulse strengths λ_(p,i).

The modified pulse pattern u_(mod) results from the optimizer, and its first part (within the sampling interval) is applied to the converter 12. The three-phase modified pulse pattern is denoted by u_(mod,abc)(t). Its switching transitions occur at t_(p,i)=tp_(p,i)′+Δt_(p,i).

As shown in FIGS. 3A and 3B, the controller 18 operates at discrete time steps kT_(s), where k∈

, and T_(s) is the sampling interval, such as 25 μs. Note that, even though the controller 18 operates at discrete time instants kT_(s), the switching instant modification may be formulated in the continuous-time domain. This implies that the modified switching instants are real-valued quantities.

The pulse patterns u*, u and ũ+ū are only determined for a prediction horizon 22. Out of the prediction horizon 22, only the modified switching instants within the current sampling interval are applied, that is, between kT_(s) and (k+1)T_(s). Then, at each subsequent sampling instant, the modified switching instants from the previous sample (which are now the incumbent switching instants) are re-optimized based on new information. This may be called receding horizon policy, which provides feedback and may make the controller robust to disturbances and modelling errors.

Converter System

Converter systems 10 are considered, which include linear elements and switching elements. The switch positions of the switching elements can be described by integer variables. Typical linear elements are voltage and current sources, ohmic resistances, capacitors and inductors. Because inductors and ohmic resistances are the building blocks of transformers and rotating electrical machines, these also may be part of the converter system 10.

A converter system 10 with linear elements and integer inputs can be described by the continuous-time state-space representation

$\begin{matrix} {{\frac{d{x(t)}}{dt} = {{{Fx}(t)} + {G{u_{abc}(t)}} + {{Pv}_{g}(t)}}},} & (2) \end{matrix}$

where x∈

^(n) ^(x) and v_(g)∈

^(n) ^(v) are the state and parameter vectors in the αβ reference frame, respectively, with n_(x)∈

⁺ and n_(v)∈

₀ ⁺. The input vector u_(abc)=[u_(a) u_(b) u_(c)]^(T)∈

³ is the three-phase switch position. Finally, F, G, and P are the state, input and parameter matrices, which characterize the converter system 10.

The formulation in (2) is sufficiently general to include any converter topology, including dc/ac, ac/dc, dc/dc and ac/ac converters, two-level, three-level and general multilevel converters, and voltage-source as well as current-source converters. By adapting the dimension of the input vector u_(abc), converters with a wide range of phase configurations can be addressed, including single-phase, three-phase and multi-phase converters.

As an embodiment, consider an NPC converter 12 connected to the grid 16 via an LC filter 14, as shown in FIG. 1. The phase voltages are denoted by v_(p), where p∈{a,b,c} are the three phases. Assume that the dc-link capacitors have an infinite capacitance, and that the neutral point N is fixed, dividing the dc-link voltage V_(d) evenly across the dc-link capacitors. Each phase leg can synthesize three voltage levels:

${- \frac{V_{d}}{2}},0,{\frac{V_{d}}{2}.}$

Thus, the output voltage for a particular phase is given by

$\begin{matrix} {{v_{p} = {\frac{V_{d}}{2}u_{p}}},} & (3) \end{matrix}$

where u_(p)∈{−1,0,1} represents the switch position of the particular phase.

The three-phase grid voltages are assumed to be symmetrical, and its phase voltages are shifted by 120° with respect to each other with a positive phase sequence. The stationary orthogonal reference frame can be defined by the grid voltage

${{v_{g}(t)} = {\begin{bmatrix} {v_{g,\alpha}(t)} \\ {v_{g,\beta}(t)} \end{bmatrix} = {\sqrt{\frac{2}{3}}V_{g,{LL}}{K\begin{bmatrix} {\sin\left( {\omega_{1}t} \right)} \\ {\sin\left( {{\omega_{1}t} - \frac{2\pi}{3}} \right)} \\ {\sin\left( {{\omega_{1}t} + \frac{2\pi}{3}} \right)} \end{bmatrix}}}}},$

where V_(g,LL) is the root-mean-square (rms) line-to-line grid voltage, and ω₁ is the fundamental angular frequency.

Also the three-phase converter current i_(abc)=[i_(a) i_(b) i_(c)]^(T), the three-phase capacitor voltage v_(c,abc)=[v_(c,a) v_(c,b) v_(c,c)]^(T) of the LC filter, and the three-phase grid current i_(g,abc)=[i_(g,a) i_(g,b) i_(g,c)]^(T) may be defined. These quantities are transformed into the stationary orthogonal reference frame with the Clarke transformation (1).

Based on this, the state vector is defined as

x(t)=[i _(α)(t)i _(β)(t)i _(g,α)(t)i _(g,β)(t)v _(c,α)(t)v _(c,β)(t)]^(T)

and the converter system can be written in the continuous-time state-space form (2). The corresponding matrices are given as

${F = \begin{bmatrix} {{- \frac{R + R_{C}}{L}}I_{2}} & {\frac{R_{C}}{L}I_{2}} & {{- \frac{1}{L}}I_{2}} \\ {\frac{R_{C}}{L_{g}}I_{2}} & {{- \frac{R_{g} + R_{C}}{L_{g}}}I_{2}} & {\frac{1}{L_{g}}I_{2}} \\ {\frac{1}{C}I_{2}} & {{- \frac{1}{C}}I_{2}} & 0_{2 \times 2} \end{bmatrix}},{G = {{\frac{V_{d}}{2L}\begin{bmatrix} I_{2} \\ 0_{2 \times 2} \\ 0_{2 \times 2} \end{bmatrix}}K}},{{{and}P} = {{\frac{1}{L_{g}}\begin{bmatrix} 0_{2 \times 2} \\ {- I_{2}} \\ 0_{2 \times 2} \end{bmatrix}}.}}$

In here, I₂ denotes the 2×2 identity matrix, and 0_(2×2) is a 2×2 zero matrix. The grid voltage v_(g) is treated as a time-varying parameter to the system. Note that the input u_(abc) is given in the three-phase abc frame, whereas the state vector x and the parameter vector v_(g) are given in the stationary orthogonal αβ reference frame.

Control Problem

The control problem at hand is to regulate the state variables x of the power converter system (2) along a suitable state reference x*. In general, state variables include voltages, currents, fluxes and power of the converter, filter, load, grid or electrical machine. In doing so, the real and reactive power of the converter, its dc-link voltage or current, internal converter quantities such as neutral-point potential or a flying capacitor voltage, and the grid or load can be controlled. Typical load quantities to be controlled are the electromagnetic torque and the magnetization of an electrical machine, the phase currents of a load, or the real and reactive power of a load. Any converter topology can be considered, including single-phase, three-phase, multi-phase, dc/ac, ac/dc, dc/dc, and ac/ac converters. Two-level, three-level and general multilevel converter can be addressed, and voltage-source and current-source converters may be considered.

In order to minimize the harmonic distortions and the switching frequency, optimized pulse patterns (OPPs) with discontinuous switching angles may be used to modulate the converter switches. OPPs lack a fixed modulation interval. Therefore, regularly spaced time instants, and thus sampling instants, do not exist at which the ripple on the state variables is zero. This implies that when sampling the state quantities at regularly spaced time instants, the sum of the fundamental component with its ripple component will be measured. This significantly complicates the controller design.

The present control method described herein regulates the states of a linear multiple-input multiple-output system with integer inputs along its reference trajectories, manipulates the switch positions of the converter, modulates the converter with OPPs during steady-state operation to achieve a superior harmonic performance at a low switching frequency, achieves fast responses with little overshoots during reference step changes, and rejects unmeasured disturbances.

Small-Signal Modifications of the OPP Switching Instants

Small-Signal Corrections

Firstly, solely FIG. 3A is considered. To simplify the notation, the phase p is dropped from the variables. The nominal pulse pattern is denoted with u*(t). The nominal pulse pattern has n* switching transitions that occur at the (nominal) switching instants t_(i)*, i=1, . . . , n*, and can be represented as

${{u^{*}(t)} = {u_{0}^{*} + {\sum\limits_{i = 1}^{n^{*}}{\Delta u_{i}^{*}{h\left( {t - t_{i}^{*}} \right)}}}}},$

where h(t) is the Heavyside step function and u₀* is the initial (nominal) switch position.

The pulse pattern that may be optimized, i.e. the pulse pattern whose switching transitions are modified, is called the incumbent pulse pattern, and it is denoted with u(t). The incumbent pulse pattern can be represented as

$\begin{matrix} {{{u(t)} = {u_{0} + {\sum\limits_{i = 1}^{n}{\Delta u_{i}{h\left( {t - t_{i}^{\prime}} \right)}}}}},} & (5) \end{matrix}$

where the switching transitions t; are referred to as the incumbent switching instants.

The pulse pattern that will be applied to the power converter is denoted with u_(mod)(t) and is referred to as the modified pulse pattern. The modified pulse pattern has n switching transitions that occur at the modified switching instants

t _(i) =t _(i) ′+Δt _(i)  (6)

for i=1, . . . , n, and where Δt_(i) is the time modification. It can be observed that the ith switching instant modification is associated with an area of

λ_(i) =−Δt _(i) Δu _(i)  (7)

that is removed or added to the incumbent pulse pattern. This area is proportional to a voltage-time area. The modified pulse pattern may be represented by

$\begin{matrix} {{u_{mod}(t)} = {u_{0} + {\sum\limits_{i = 1}^{n}{\Delta u_{i}{{h\left( {t - \left( {t_{i}^{\prime} + {\Delta t_{i}}} \right)} \right)}.}}}}} & (8) \end{matrix}$

Recall that the time derivative of the step function h(t) is the Dirac delta function, or simply the impulse, δ(t). By using a first-order Tayler series expansion of the step functions around the incumbent switching instants t_(i)′, (8) can be approximated by

$\begin{matrix} {{u_{mod}(t)} \approx {u_{0} + {\sum\limits_{i = 1}^{n}{\Delta{{u_{i}\left( {{h\left( {t - t_{i}^{\prime}} \right)} - {\Delta t_{i}{\delta_{i}\left( {t - t_{i}^{\prime}} \right)}}} \right)}.}}}}} & (9) \end{matrix}$

With the definitions of (5) and (7), (9) simplifies to

$\begin{matrix} {{u_{mod}(t)} \approx {{u(t)} + {\sum\limits_{i = 1}^{n}{\lambda_{i}{{\delta_{i}\left( {t - t_{i}^{\prime}} \right)}.}}}}} & (10) \end{matrix}$

The (linearized) modified pulse pattern in (10) includes two terms. The first one is the (unmodified) incumbent pulse pattern u(t), whereas the second expression

$\begin{matrix} {{\overset{\sim}{u}(t)} = {\sum\limits_{i = 1}^{n}{\lambda_{i}{\delta_{i}\left( {t - t_{i}^{\prime}} \right)}}}} & (11) \end{matrix}$

states the (approximated) modifications. These modifications are impulses at the incumbent switching instants t_(i)′ with strengths λ_(i), and the strengths may be seen as representing (rectangular) voltage-time areas.

This gives rise to a train of voltage-time impulses that will be an input to a small-signal model, as describe below. Based on this model, the model predictive controller of the optimizer 24 will adjust the impulse strengths λ_(i) of the small-signal pulse pattern as required. By rewriting (7), the impulse strengths can be translated into the switching instant modifications

$\begin{matrix} {{\Delta t_{i}} = {- {\frac{\lambda_{i}}{\Delta u_{i}}.}}} & (12) \end{matrix}$

The translation from impulse strengths to switching instant modification is based on the linearization in (10). More specifically, the (shaded) rectangular voltage-time areas in FIGS. 3A and 3B are approximated by the strengths of the voltage-time impulses. The narrower the voltage-time areas, the better the approximation.

Updating the Incumbent Switching Instants

Since the modifications to the pulse pattern of (10) are based on approximating rectangular voltage-time areas with impulse strengths, the influence of the modifications on the behavior of the system states will as a rule only be accurate for small modifications (i.e. small impulse strengths) to the switching instants. However, using impulse strengths to model corrections will result in the underlying optimization problem of the control algorithm to be a convex QP. If impulse strengths were not used to model corrections, and therefore no linearization step was used, the optimization problem would be substantially more difficult and time consuming to solve. To address this issue, the optimization problem is formulated around the switching instants computed at the previous time step, rather than the nominal switching instants. This ensures a convex QP and highly accurate predictions during steady-state operation within a few sampling instants after a step-like transient.

The small-signal input is defined as the difference between the modified pulse pattern and the nominal pulse pattern,

u _(mod)(t)−u*(t)=u(t)−u*(t)+ũ(t)  (13)

=ū(t)+ũ(t).  (14)

The small-signal input ū(t)+ũ(t) includes two terms.

The first term ū(t)=ũ(t)−u*(t) refers to the difference between the incumbent pulse pattern and the nominal pulse pattern. This term is called small-signal difference pulse pattern, or small-signal difference input, and/or may be composed of voltage-time areas.

The second term ũ(t) refers to the train of voltage-time impulses, which may be called small-signal pulse pattern.

In FIG. 3A, the switching instants of the nominal pulse pattern and the incumbent pulse pattern are equal (t_(i)′=t_(i)*). This results in the small-signal input only containing voltage-time impulses ũ(t) as defined in (11) and depicted in FIG. 3A. The controller 18 then calculates the impulse strengths, which are then translated to the modified switching instants t_(i) (of the modified pulse pattern) using (6) and (12).

At the subsequent step in FIG. 3B, the incumbent switching instants t_(i)′ are updated with the modified switching instants t_(i) computed at the previous time step k−1 (i.e. the modified switching instants shown in FIG. 3A). The small-signal input now contains additional terms, which are the actual (rectangular) voltage-time areas from the previous correction, alongside the voltage-time impulses, i.e.,

$\begin{matrix} {{{\overset{\_}{u}(t)} + {\overset{\sim}{u}(t)}} = {\left( {u_{0} - u_{0}^{*}} \right) + \left( {{\sum\limits_{i = 1}^{n}{\Delta u_{i}{h\left( {t - t_{i}^{\prime}} \right)}}} - {\sum\limits_{i = 1}^{n^{*}}{\Delta u_{i}^{*}{h\left( {t - t_{i}^{*}} \right)}}}} \right) + {\sum\limits_{i = 1}^{n}{\lambda_{i}{{\delta\left( {t - t_{i}^{\prime}} \right)}.}}}}} & (15) \end{matrix}$

This is illustrated in FIG. 3B. Note that all terms in (15), except for the last one, refer to the small-signal difference pulse pattern ũ(t).

Three-Phase Case

The previous sections are generalized to the three-phase case. The modification of the ith switching instant in phase p, with p∈{a, b, c}, is defined as

Δt _(p,i) =t _(p,i) −t _(p,i)′,  (16)

where t_(p,i) denotes the modified switching instant, and t_(p,i)′, is the incumbent switching instant. The corresponding switching transition is defined as

Δu _(p,i) =u _(p,i) −u _(p,i−1)  (17)

from u_(p,i−1) to u_(p,i), where u_(p,i−1) and u_(p,i)∈

. Generalizing (7), the ith pulse strength in phase p is defined as

λ_(p,i) =−Δt _(p,i) Δu _(p,i).  (18)

Consider the modified three-phase pulse pattern u_(mod,abc)(t) over the time interval t∈[0, T_(p)], where T_(p) is the prediction horizon of the to-be-designed controller. Following the principle derived in (10), the modified pulse pattern is defined as the superposition

u _(mod,abc)(t)≈u _(abc)(t)+ũ _(abc)(t,λ _(p,i))  (19)

of the incumbent three-phase pulse pattern

$\begin{matrix} {{u_{abc}(t)} = {\begin{bmatrix} {u_{a}(t)} \\ {u_{b}(t)} \\ {u_{c}(t)} \end{bmatrix} = \begin{bmatrix} {u_{a,0} + {\sum_{i = 1}^{n_{a}}{\Delta u_{a,i}{h\left( {t - t_{a,i}^{\prime}} \right)}}}} \\ {u_{b,0} + {\sum_{i = 1}^{n_{b}}{\Delta u_{b,i}{h\left( {t - t_{b,i}^{\prime}} \right)}}}} \\ {u_{c,0} + {\sum_{i = 1}^{n_{c}}{\Delta u_{c,i}{h\left( {t - t_{c,i}^{\prime}} \right)}}}} \end{bmatrix}}} & (20) \end{matrix}$

and the three-phase modification (i.e. the three-phase small-signal pulse pattern)

$\begin{matrix} {{{\overset{\sim}{u}}_{abc}\left( {t,\lambda_{p,i}} \right)} = {\begin{bmatrix} {{\overset{\sim}{u}}_{a}\left( {t,\lambda_{a,i}} \right)} \\ {{\overset{\sim}{u}}_{b}\left( {t,\lambda_{b,i}} \right)} \\ {{\overset{\sim}{u}}_{c}\left( {t,\lambda_{c,i}} \right)} \end{bmatrix} = \begin{bmatrix} {\sum_{i = 1}^{n_{a}}{{\delta\left( {t - t_{a,i}^{\prime}} \right)}\lambda_{a,i}}} \\ {\sum_{i = 1}^{n_{b}}{{\delta\left( {t - t_{b,i}^{\prime}} \right)}\lambda_{b,i}}} \\ {\sum_{i = 1}^{n_{c}}{{\delta\left( {t - t_{c,i}^{\prime}} \right)}\lambda_{c,i}}} \end{bmatrix}}} & (21) \end{matrix}$

in the form of a train of weighted voltage-time impulses. In here, n_(p) is introduced as the number of switching transitions in phase p that fall within the horizon T_(p) and λ_(p,i) as the strength of the ith impulse in that phase. Note that the incumbent switching instants t_(p,i)′, are defined relative to the current time step t₀=0. The total number of switching transitions in the three phases within the horizon T_(p) is denoted by n_(sw)=n_(a)+n_(b)+n_(c).

Internal Dynamic Model

Recall the differential equation of the power converter system in (2). The modified three-phase pulse pattern u_(mod,abc)(t) is used as the input to this system. By integrating (2), the future state vector at time t∈[0, T_(p)] is

$\begin{matrix} {{{x(t)} = {{e^{Ft}x_{0}} + {\int\limits_{0}^{t}{e^{F({t - r})}{{Gu}_{{mod},{abc}}(r)}{dr}}} + {\int\limits_{0}^{t}{e^{F({t - r})}{{Pv}_{g}(r)}{dr}}}}},} & (22) \end{matrix}$

where x₀ is the initial state at time t₀=0. Similarly, the optimal state reference trajectory during steady-state operation follows from the nominal pulse pattern as

$\begin{matrix} {{{x^{*}(t)} = {{e^{Ft}x_{0}^{*}} + {\int\limits_{0}^{t}{e^{F({t - r})}{{Gu}_{abc}^{*}(r)}{dr}}} + {\int\limits_{0}^{t}{e^{F({t - r})}{{Pv}_{g}(r)}{dr}}}}},} & (23) \end{matrix}$

where x₀* is the optimal initial state and

$\begin{matrix} {{u_{abc}^{*}(t)} = {\begin{bmatrix} {u_{a}^{*}(t)} \\ {u_{b}^{*}(t)} \\ {u_{c}^{*}(t)} \end{bmatrix} = {\begin{bmatrix} {u_{a,0}^{*} + {\sum_{i = 1}^{n_{a}^{*}}{\Delta u_{a,i}^{*}{h\left( {t - t_{a,i}^{*}} \right)}}}} \\ {u_{b,0}^{*} + {\sum_{i = 1}^{n_{b}^{*}}{\Delta u_{b,i}^{*}{h\left( {t - t_{b,i}^{*}} \right)}}}} \\ {u_{c,0}^{*} + {\sum_{i = 1}^{n_{c}^{*}}{\Delta u_{c,i}^{*}{h\left( {t - t_{c,i}^{*}} \right)}}}} \end{bmatrix}.}}} & (24) \end{matrix}$

The error between the actual state and its reference

{tilde over (x)}(t)=x(t)−x*(t)  (25)

is the so-called small-signal error, {tilde over (x)}∈

^(n) ^(x) . By inserting (23) and (22) with (19) into (25), the expression

$\begin{matrix} {{\overset{\sim}{x}\left( {t,\lambda_{p,i}} \right)} \approx {{e^{Ft}{\overset{\sim}{x}}_{0}} + {\int\limits_{0}^{t}{e^{F({t - r})}{G\left( {{u_{abc}(r)} - {u_{abc}^{*}(r)}} \right)}{dr}}} + {\int\limits_{0}^{t}{e^{F({t - r})}G{{\overset{\sim}{u}}_{abc}\left( {r,\lambda_{p,i}} \right)}{dr}}}}} & (26) \end{matrix}$

is obtained, where {tilde over (x)}₀=x₀−x₀* is the initial small-signal error. Because the expression (19) only holds approximately, the small-signal error in (26) is also an approximation. Note that the state error {tilde over (z)}(t, λ_(p,i)) is a function of the impulse strengths λ_(p,i), which model the modifications to the incumbent pulse pattern. The grid voltage is not part of the small-signal model in (26), but the grid voltage will be required by the controller when selecting the appropriate pulse pattern.

State Error in Vector Form

The small-signal error (26) can be written in a compact form. To this end, in (26) the small-signal pulse pattern ũ_(abc) (t, λ_(p,i)) is rearranged, see (21), resulting in

$\begin{matrix} {{{\overset{\sim}{x}\left( {t,\lambda_{p,i}} \right)} \approx {{e^{Ft}{\overset{\sim}{x}}_{0}} + {\Gamma(t)} + {\int\limits_{0}^{t}{e^{F({t - r})}{G\left( {{\begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}{\sum\limits_{i = 1}^{n_{a}}{{\delta\left( {r - t_{a,i}^{\prime}} \right)}\lambda_{a,i}}}} + {\begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}{\sum\limits_{i = 1}^{n_{b}}{{\delta\left( {r - t_{b,i}^{\prime}} \right)}\lambda_{b,i}}}} + {\begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}{\sum\limits_{i = 1}^{n_{c}}{{\delta\left( {r - t_{c,i}^{\prime}} \right)}\lambda_{c,i}}}}} \right)}{dr}}}}},} & (27) \end{matrix}$ where $\begin{matrix} {{\Gamma(t)} = {\int\limits_{0}^{t}{e^{F({t - r})}{G\left( {{u_{abc}(r)} - {u_{abc}^{*}(r)}} \right)}{{dr}.}}}} & (28) \end{matrix}$

Manipulations involving }(t) are moved to Appendix A. By using the well-known sifting property of the impulse,

${{\int\limits_{- \infty}^{t}{{f(r)}{\delta\left( {r - t_{pi}^{\prime}} \right)}{dr}}} = {{f\left( t_{pi}^{\prime} \right)}{h\left( {t - t_{pi}^{\prime}} \right)}}},$

the integral in (27) turns into

$\begin{matrix} {{{\overset{\sim}{x}\left( {t,\lambda_{p,i}} \right)} \approx {{e^{Ft}{\overset{\sim}{x}}_{0}} + {\Gamma(t)} + {\sum\limits_{i = 1}^{n_{a}}{e^{F({t - t_{a,i}^{\prime}})}G_{a}{h\left( {t - t_{a,i}^{\prime}} \right)}\lambda_{a,i}}} + {\sum\limits_{i = 1}^{n_{b}}{e^{F({t - t_{b,i}^{\prime}})}G_{b}{h\left( {t - t_{b,i}^{\prime}} \right)}\lambda_{b,i}}} + {\sum\limits_{i = 1}^{n_{c}}{e^{F({t - t_{c,i}^{\prime}})}G_{c}{h\left( {t - t_{c,i}^{\prime}} \right)}\lambda_{c,i}}}}},} & (29) \end{matrix}$

where G_(a)=G[100]^(T), G_(b)=G[010]^(T), and G_(c)=G[001]^(T).

The small-signal error can now be written in vector form as

{tilde over (x)}(t,Λ)≈e ^(Ft) {tilde over (x)} ₀ +r(t)+Φ(t)Λ,  (30)

where Φ(t)∈

^(n) ^(x) ^(×n) ^(sw) is the input matrix,

$\begin{matrix} {{{\Phi(t)} = \left\lbrack \text{⁠}{e^{F({t - t_{a,1}^{\prime}})}G_{a}{h\left( {t - t_{a,1}^{\prime}} \right)}\ldots e^{F({t - t_{a,n_{a}}^{\prime}})}G_{a}{h\left( {t - t_{a,n_{a}}^{\prime}} \right)}e^{F({t - t_{b,1}^{\prime}})}G_{b}{h\left( {t - t_{b,1}^{\prime}} \right)}\ldots e^{F({t - t_{b,n_{b}}^{\prime}})}G_{b}{h\left( {t - t_{b,n_{b}}^{\prime}} \right)}e^{F({t - t_{c,1}^{\prime}})}G_{c}{h\left( {t - t_{c,1}^{\prime}} \right)}\ldots e^{F({t - t_{c,n_{c}}^{\prime}})}G_{a}{h\left( {t - t_{c,n_{c}}^{\prime}} \right)}} \right\rbrack},} & (31) \end{matrix}$

and Λ∈

^(n) ^(sw) is introduced as the vector of impulse strengths,

Λ=[λ_(a,1) . . . λ_(a,n) _(a) λ_(b,1) . . . λ_(b,n) _(b) λ_(c,1) . . . λ_(c,n) _(c) ]^(T)  (32)

with the n_(sw) impulse strengths over the horizon T_(p). Note that Γ(t) captures the behavior of the previous corrections. It will be shown below that it may be neglected at the expense of accuracy.

Control Method

In this section, the controller 18 and the control method performed by the controller is described in more detail. The controller 18 and the control method are based on the small-signal error expression (30).

Objective Function

The objective function

$\begin{matrix} {{J(\Lambda)} = {{\int\limits_{0}^{T_{p}}{{{\overset{\sim}{x}(t)}}_{Q}^{2}dt}} + {\frac{1}{2}{\Lambda }_{R}^{2}}}} & (33) \end{matrix}$

penalizes with the positive semidefinite penalty matrix Q∈

^(n) ^(x) ^(×n) ^(x) the integral of the small-signal error over the prediction horizon of length T_(p). Note that ∥{tilde over (x)}∥_(Q) ²={tilde over (x)}^(T)Q{tilde over (x)}. The second term in (33) penalizes the strength of the voltage-time impulses in order to discourage unnecessarily large modifications to the incumbent pulse pattern. The corresponding penalty matrix R∈

^(n) ^(sw) ^(×n) ^(sw) , is required to be positive semidefinite.

First Term The first term can be expanded to

${{J_{1}(\Lambda)} = {\int\limits_{0}^{T_{p}}{\left( {{e^{Ft}{\overset{\sim}{x}}_{0}} + {\Gamma(t)} + {{\Phi(t)}\Lambda}} \right)^{T}{Q\left( {{e^{Ft}{\overset{\sim}{x}}_{0}} + {\Gamma(t)} + {{\Phi(t)}\Lambda}} \right)}{dt}}}},$ $\begin{matrix} {{= {\int\limits_{0}^{T_{p}}{\left( {{\frac{1}{2}\Lambda^{T}{\Upsilon(t)}\Lambda} + {{\Theta(t)}^{T}\Lambda} + {\theta(t)}} \right)dt}}},{= {{\frac{1}{2}{\Lambda^{T}\left( {\int\limits_{0}^{T_{p}}{{\Upsilon(t)}{dt}}} \right)}\Lambda} + {\left( {\int\limits_{0}^{T_{p}}{{\Theta(t)}^{T}dt}} \right)\Lambda} + {\int\limits_{0}^{T_{p}}{{\theta(t)}{dt}}}}},} & (34) \end{matrix}$

where

Y(t)=2Φ(t)^(T)(Q)Φ(t),  (35)

Φ(t)=(e ^(Ft) {tilde over (x)} ₀ +r(t))^(T) QΦ(t)  (36)

and

θ(t)=(e ^(Ft) {tilde over (x)} ₀ +r(t))^(T) Q(e ^(Ft) {tilde over (x)} ₀ +r(t)).  (37)

Consider the (i′,j′)th entry of the n_(sw)×n_(sw) matrix

in (35). Assume that the i'th entry corresponds to phase p₁∈{a, b, c} and the ith switching transition in that phase. The quantities p₂ and j are defined accordingly for a given j′. The (i′,j′)th entry of

can then be written as

_((i′j′))(t)=2(e ^(F(t-t) ^(p1,i) ^(′)) G _(p1) h(t−t _(p1,i)′))^(T) Qe ^(F(t−t) ^(p2,j) ^(′))G _(p2) h(t−t _(p2,j)′),  (38a)

=2G _(p1) ^(T)(e ^(F(t−t) ^(p1,j) ^(′)))^(T) Qe ^(F(t−t) ^(p2,j) ^(′)) G _(p2) h(t−t _(ij)′),  (38b)

where t_(ij)′=max{t_(p1,i)′, t_(p2,j)′}. The integral of (38b) results in

$\begin{matrix} {V_{({i^{\prime}j^{\prime}})} = {2{\int\limits_{0}^{T_{p}}{{G_{p1}^{T}\left( e^{F({t - t_{{p1},i}^{\prime}})} \right)}^{T}Qe^{F({t - t_{{p2},j}^{\prime}})}G_{p2}{h\left( {t - t_{ij}^{\prime}} \right)}{{dt}.}}}}} & (39) \end{matrix}$

Calculating the integral of the product of two matrix exponentials, which do not commute, is not trivial. According to a theorem, the integral

$\begin{matrix} {{\Xi(t)} = {\int\limits_{0}^{t}{\left( e^{Fr} \right)^{T}Qe^{Fr}{dr}}}} & (40) \end{matrix}$

can be calculated as

$\begin{matrix} {{{\Xi(t)} = {{M(t)}^{T}{N(t)}}},} & (41) \end{matrix}$ where $\begin{matrix} {{{e\begin{bmatrix} {- F^{T}} & Q \\ 0_{n_{x} \times n_{x}} & F \end{bmatrix}}t} = {\begin{bmatrix} \left( e^{Ft} \right)^{T} & {\left( e^{- {Ft}} \right)^{T}{\int_{0}^{t}{\left( e^{Fr} \right)^{T}{Qe}^{Fr}{dr}}}} \\ 0_{n_{x} \times n_{x}} & e^{Ft} \end{bmatrix} = {\begin{bmatrix} {L(t)} & {N(t)} \\ 0_{n_{x} \times n_{x}} & {M(t)} \end{bmatrix}.}}} & (42) \end{matrix}$

Next, the integral in (39) is rewritten in the form of (40) so that (41) and (42) can be used to solve it:

$\begin{matrix} {V_{({i^{\prime}j^{\prime}})} = {{2{G_{p1}^{T}\left( e^{- {Ft}_{{p1},i}^{\prime}} \right)}^{T}{\int\limits_{0}^{T_{p}}{\left( e^{Ft} \right)^{T}{Qe}^{Ft}{h\left( {t - t_{ij}^{\prime}} \right)}{dte}^{{- F}t_{{p2},j}^{\prime}}G_{p2}}}} = {2{G_{p1}^{T}\left( e^{- {Ft}_{{p1},i}^{\prime}} \right)}^{T}{\int\limits_{t_{ij}^{\prime}}^{T_{p}}{\left( e^{Ft} \right)^{T}{Qe}^{Ft}{dte}^{{- F}t_{{p2},j}^{\prime}}G_{p2}}}}}} & (43) \end{matrix}$

By time shifting the integrand forward by t_(ij)′, the integral becomes

$\begin{matrix} \begin{matrix} {V_{({i^{\prime}j^{\prime}})} = {2{G_{p1}^{T}\left( e^{- {Ft}_{{p1},i}^{\prime}} \right)}^{T}{\underset{0}{\int\limits^{T_{p} - t_{ij}^{\prime}}}{\left( e^{F({t + t_{ij}^{\prime}})} \right)^{T}Qe^{F({t + t_{ij}^{r}})}{dt}e^{{- F}t_{{p2},j}^{\prime}G_{p2}}}}}} \\ {= {2{G_{p1}^{T}\left( e^{F({t_{ij}^{\prime} - t_{{p1},i}^{\prime}})} \right)}^{T}{\int_{0}^{T_{p} - t_{ij}^{\prime}}{\left( e^{Ft} \right)^{T}Qe^{Ft}{dte}^{F({t_{ij}^{\prime} - t_{{p2},j}^{\prime}})}G_{p2}}}}} \\ {= {2{G_{p1}^{T}\left( e^{F({t_{ij}^{\prime} - t_{{p1},i}^{\prime}})} \right)}^{T}{\Xi\left( {T_{p} - t_{ij}^{\prime}} \right)}e^{F({t_{ij}^{\prime} - t_{{p2},j}^{\prime}})}{G_{p2}.}}} \end{matrix} & (44) \end{matrix}$

The n_(sw)-dimensional column vector Θ(t) in (36) is split it up into two terms

Θ(t)^(T)=Θ₀(t)^(T)+Θ_(r)(t)^(T)  (45)

where

Θ₀(t)^(T)=2(e ^(Ft) {tilde over (x)} ₀)^(T) QΦ(t)  (46)

Θ_(r)(t)^(T)=2(Γ(t))^(T) QΦ(t).  (47)

Consider the i'th entry of Θ₀(t)^(T), and assume that it corresponds to phase p and the ith switching transition in that phase. With (31),

Θ_(0,i′)(t)^(T)=2{tilde over (x)} ₀ ^(T)(e ^(Ft))^(T) Qe ^(F(t−t) ^(p,i) ^(′)) G _(p) h(t−t _(p,i)′).  (48)

Its integral

$\begin{matrix} {{c_{0,i^{\prime}}^{T} = {2{\overset{\sim}{x}}_{0}^{T}{\int\limits_{t_{p,i}^{\prime}}^{T_{p}}{\left( e^{Ft} \right)^{T}Qe^{F({t - t_{p,i}^{\prime}})}{dt}G_{p}}}}},} & (49) \end{matrix}$

can also be written in the form of (40), so that (41) and (42) can be used to solve it. Following a time shift forward by t_(p,i)′, the integral becomes

${c_{0,i^{\prime}}^{T} = {2{{\overset{\sim}{x}}_{0}^{T}\left( e^{{Ft}_{p,i}^{\prime}} \right)}^{T}{\int\limits_{0}^{T_{p} - t_{p,i}^{\prime}}{\left( e^{Ft} \right)^{T}Qe^{Ft}dtG_{p}}}}},$ $\begin{matrix} {= {2{{\overset{\sim}{x}}_{0}^{T}\left( e^{{Ft}_{p,i}^{\prime}} \right)}^{T}{\Xi\left( {T_{p} - t_{p,i}^{\prime}} \right)}{G_{P}.}}} & (50) \end{matrix}$

The calculation involving the second term in (45),

$\begin{matrix} {{c_{\Gamma,i^{\prime}}^{T} = {\int\limits_{0}^{T_{p}}{2\left( {\Gamma(t)} \right)^{T}Q{\Phi(t)}{dt}}}},} & (51) \end{matrix}$

are moved to Appendix B.

The i'th entry of the vector c is then given by

c _(i′) =c _(0,i′) +c _(Γ,i′).  (52)

Note that θ(t) in (34) is not a function of the vector of impulse strengths Λ. Therefore, it is merely a constant in the cost function, which has no influence on the solution of the to-be-derived optimization problem. This fact allows us to omit θ(t) hereafter.

The first term of the objective function, J₁, which minimizes the small-signal error, can now be written as

J ₁(Λ)=½Λ^(T) VΛ+c ^(T)Λ.  (53)

Second term The second term of the objective function, which penalizes the entries of the vector of impulse strengths Λ, is

J ₂(Λ)=½Λ^(T) RΛ.  (54)

Vector Form The objective function is the quadratic function

J(Λ)=J ₁(Λ)+J ₂(Λ)=½Λ^(T)(V+R)Λ+c ^(T)Λ

=½Λ^(T) HΛ+c ^(T)Λ,  (55)

where H=V+R is known as the Hessian and contains the second-order partial derivatives of J(Λ), and c is a vector with linear coefficients.

In the above, the matrix V is also called the model matrix, while the vector c is called the model vector. The matrix R is called the penalty matrix.

Constraints

To enforce an ascending order on the modified switching instants in each phase, the set of constraints

0≤t _(p,1) ≤t _(p,2) ≤ . . . ≤t _(p,n) _(p) ≤T _(p)  (56)

must be imposed for each phase p. Switching instants cannot be shifted into the past and not beyond the prediction horizon T_(p). Alternatively, the n_(p)th switching transition in a phase can be upper bounded by the next incumbent switching transition beyond the horizon, t_(p,n) _(p) ₊₁′.

With the help of (16) and (18), the set of constraints (56) can be recast in terms of the impulse strengths λ_(p,i):

$\begin{matrix} {0 \leq {t_{p,1}^{\prime} - \frac{\lambda_{p,1}}{\Delta u_{p,1}}} \leq {t_{p,2}^{\prime} - \frac{\lambda_{p,2}}{\Delta u_{p,2}}} \leq \ldots \leq {t_{p,n_{p}}^{\prime} - \frac{\lambda_{p,n_{p}}}{\Delta u_{p,n_{p}}}} \leq {T_{p}.}} & (57) \end{matrix}$

Applying (57) to the phases a, b, and c, the constraint

AΛ≤B  (58)

in matrix form arises, with respect to

$\begin{matrix} {{A = \begin{bmatrix} A_{a} & & \\  & A_{b} & \\  & & A_{c} \end{bmatrix}},{{{with}A_{p}} = \begin{bmatrix} \frac{1}{\Delta u_{p,1}} & 0 & 0 & \ldots & 0 & 0 \\ {- \frac{1}{\Delta u_{p,1}}} & \frac{1}{\Delta u_{p,2}} & 0 & \ldots & 0 & 0 \\  & {- \frac{1}{\Delta u_{p,2}}} & \frac{1}{\Delta u_{p,3}} & & 0 & 0 \\  \vdots & & & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & \ldots & {- \frac{1}{\Delta u_{p,{n_{p} - 1}}}} & \frac{1}{\Delta u_{p,n_{p}}} \\ 0 & 0 & 0 & \ldots & 0 & \frac{1}{\Delta u_{p,n_{p}}} \end{bmatrix}}} & (59) \end{matrix}$ and $\begin{matrix} {{B = \begin{bmatrix} B_{a}^{T} & B_{b}^{T} & B_{c}^{T} \end{bmatrix}^{T}},{{{with}B_{p}} = {\left\lbrack \begin{matrix} t_{p,1}^{\prime} & {t_{p,2}^{\prime} - t_{p,1}^{\prime}} & \ldots & {T_{p} - t_{p,n_{p}}^{\prime}} \end{matrix}\  \right\rbrack^{T}.}}} & (60) \end{matrix}$

Additional constraints may be added to the controller formulation. For example, state constraints in the form of {tilde over (x)}(t)∈X, with the time t∈[0, T_(p)], could be added to (61b), see below. Provided that the constraint set X is a polyhedron, the optimization problem (61) below remains a convex QP.

Quadratic Program

Minimizing the objective function (55) while respecting the constraint (58) leads to the quadratic program (QP)

$\begin{matrix} {\Lambda_{opt} = {{\arg\min\limits_{\Lambda}\frac{1}{2}\Lambda^{T}H\Lambda} + {c^{T}\Lambda}}} & \left( {61a} \right) \end{matrix}$ $\begin{matrix} {{{subject}{to}A\Lambda} \leq {B.}} & \left( {61b} \right) \end{matrix}$

The vector of impulse strengths Λ is the decision (or optimization) variable, and Λ_(opt) is the optimal solution to the QP. The latter cannot be solved algebraically; instead, numerical optimization techniques must be employed, such as gradient methods or interior point methods.

Note that the problem (61) is convex, since the constraints are linear and the objective function is quadratic in the decision variable with a positive semidefinite Hessian H. One can show that this follows from the fact that the penalty matrices Q and R are positive semidefinite. If R is positive definite, then the Hessian H is also positive definite.

Optimal Switching Instants

Having solved the QP (61), the vector of optimal pulse strengths Λ_(opt) is translated with (18) into the optimal switching instant advancements or delays

$\begin{matrix} {{\Delta t_{{opt},p,i}} = {- {\frac{\lambda_{{opt},p,i}}{\Delta u_{p,i}}.}}} & (62) \end{matrix}$

By adding these modifications to the incumbent switching instants of the pulse pattern, the optimal switching instants are obtained

$\begin{matrix} {{t_{{opt},p,i} = {t_{p,i}^{\prime} - \frac{\lambda_{{opt},p,i}}{\Delta u_{p,i}}}},} & (63) \end{matrix}$

where (16) was used.

Standard Controller

The computational burden of the control algorithm can be reduced if the switching instant updating step is neglected (i.e. the linearization is always done around the nominal switching instants). This implies that the incumbent pulse pattern u_(abc)(t) is replaced by the nominal pulse pattern u_(abc)*(t). Because the incumbent pulse pattern and the nominal pulse pattern are then equal, the small-signal error in (30) reduces to

{tilde over (x)}(t,Λ)≈e ^(Ft) {tilde over (x)} ₀+Φ(t)Λ.  (64)

The i'th entry of the linear term in the cost function, see (52), then reduces to c_(i)′=c_(0,1)′.

The accuracy of the small-signal error prediction may be reduced. Recall that the voltage-time areas in FIG. 3A where approximated by the strengths of their corresponding impulses. Small modifications, and thus small voltage-time areas with small impulse strengths are accurately represented, but a certain error may arise for larger modifications. These errors may manifest themselves in inaccurate predictions. Nevertheless, thanks to the receding horizon policy, these inaccuracies may be compensated by the controller.

APPENDIX A

The expression Γ(t) defined in (28), which appears in (30), can be re-arranged as

$\begin{matrix} {{\Gamma(t)} = {{\sum\limits_{i = 1}^{n_{a}}{\left( {e^{F({t - t_{a,i}^{\prime}})} - I} \right)F^{- 1}G_{a}\Delta u_{a,i}{h\left( {t - t_{a,i}^{\prime}} \right)}}} + {\sum\limits_{i = 1}^{n_{b}}{\left( {e^{F({t - t_{b,i}^{\prime}})} - I} \right)F^{- 1}G_{b}\Delta u_{b,i}{h\left( {t - t_{b,i}^{\prime}} \right)}}} + {\sum\limits_{i = 1}^{n_{c}}{\left( {e^{F({t - t_{c,i}^{\prime}})} - I} \right)F^{- 1}G_{c}\Delta u_{c,i}{h\left( {t - t_{c,i}^{\prime}} \right)}}} - {\sum\limits_{i = 1}^{n_{a}^{*}}{\left( {e^{F({t - t_{a,i}^{*}})} - I} \right)F^{- 1}G_{a}\Delta u_{a,i}^{*}{h\left( {t - t_{a,i}^{*}} \right)}}} - {\sum\limits_{i = 1}^{n_{b}^{*}}{\left( {e^{F({t - t_{b,i}^{*}})} - I} \right)F^{- 1}G_{b}\Delta u_{b,i}^{*}{h\left( {t - t_{b,i}^{*}} \right)}}} - {\sum\limits_{i = 1}^{n_{c}^{*}}{\left( {e^{F({t - t_{c,i}^{*}})} - I} \right)F^{- 1}G_{c}\Delta u_{c,i}^{*}{h\left( {t - t_{c,i}^{*}} \right)}}} + {\left( {e^{Ft} - I} \right)F^{- 1}G\Delta u_{{abc},0}}}} & (65) \end{matrix}$

where it has been used that an integral involving the step function is

${\int\limits_{0}^{t}{e^{F({t - r})}G_{p}\Delta u_{p,i}{h\left( {r - t_{p,i}^{\prime}} \right)}{dr}}} = {\left( {e^{F({t - t_{p,i}^{\prime}})} - I} \right)F^{- 1}G_{p}\Delta u_{p,i}{{h\left( {t - t_{p,i}^{\prime}} \right)}.}}$

Here, Δu_(abc,0) ^(T)=[u_(a,0)u_(b,0)u_(c,0)]^(T)−[u_(a,0)*u_(b,0)*u_(c,0)*]^(T) has been introduced.

(65) is decomposed into three terms

$\begin{matrix} {{{\Gamma(t)} = {{\Gamma^{\prime}(t)} - {\Gamma^{*}(t)} + {\Gamma_{0}(t)}}},} & (66) \end{matrix}$ ${{\Gamma^{\prime}(t)} = {{\sum\limits_{i = 1}^{n_{a}}{\left( {e^{F({t - t_{a,i}^{\prime}})} - I} \right)F^{- 1}G_{a}\Delta u_{a,i}{h\left( {t - t_{a,i}^{\prime}} \right)}}} + {\sum\limits_{i = 1}^{n_{b}}{\left( {e^{F({t - t_{b,i}^{\prime}})} - I} \right)F^{- 1}G_{b}\Delta u_{b,i}{h\left( {t - t_{b,i}^{\prime}} \right)}}} + {\sum\limits_{i = 1}^{n_{c}}{\left( {e^{F({t - t_{c,i}^{\prime}})} - I} \right)F^{- 1}G_{c}\Delta u_{c,i}{h\left( {t - t_{c,i}^{\prime}} \right)}}}}},$ $\begin{matrix} {{{\Gamma^{*}(t)} = {{\sum\limits_{i = 1}^{n_{a}^{*}}{\left( {e^{F({t - t_{a,i}^{*}})} - I} \right)F^{- 1}G_{a}\Delta u_{a,i}^{*}{h\left( {t - t_{a,i}^{*}} \right)}}} + {\sum\limits_{i = 1}^{n_{b}^{*}}{\left( {e^{F({t - t_{b,i}^{*}})} - I} \right)F^{- 1}G_{b}\Delta u_{b,i}^{*}{h\left( {t - t_{b,i}^{*}} \right)}}} + {\sum\limits_{i = 1}^{n_{c}^{*}}{\left( {e^{F({t - t_{c,i}^{*}})} - I} \right)F^{- 1}G_{c}\Delta u_{c,i}^{*}{h\left( {t - t_{c,i}^{*}} \right)}}}}},} & (68) \end{matrix}$ $\begin{matrix} {{\Gamma_{0}(t)} = {\left( {e^{Ft} - I} \right)F^{- 1}G\Delta{u_{{abc},0}.}}} & (69) \end{matrix}$

APPENDIX B

The equations involving the integral of (66) are evaluated. The integrals of the terms in (48) will be considered separately,

$\begin{matrix} {c_{\Gamma,i}^{T} = {{{\int\limits_{0}^{T_{p}}{{\Theta_{\Gamma^{\prime},i^{\prime}}(t)}^{T}{dt}}} + {\int\limits_{0}^{T_{p}}{{\Theta_{\Gamma^{*},i^{\prime}}(t)}^{T}{dt}}} + {\int\limits_{0}^{T_{p}}{{\Theta_{\Gamma_{0},i^{\prime}}(t)}^{T}{dt}}}} = {c_{\Gamma^{\prime},i^{\prime}}^{T} + c_{\Gamma^{*},i^{\prime}}^{T} + c_{\Gamma_{0},i^{\prime},}^{T}}}} & (70) \end{matrix}$ where $\begin{matrix} {{\Theta_{\Gamma^{\prime},i^{\prime}}(t)}^{T} = {2{\Gamma^{\prime}(t)}^{T}Qe^{F({t - t_{p,i}^{\prime}})}G_{p}{h\left( {t - t_{p,i}^{\prime}} \right)}}} & (71) \end{matrix}$ $\begin{matrix} {{\Theta_{\Gamma^{*},i^{\prime}}(t)}^{T} = {2{\Gamma^{*}(t)}^{T}Qe^{F({t - t_{p,i}^{\prime}})}G_{p}{h\left( {t - t_{p,i}^{\prime}} \right)}}} & (72) \end{matrix}$ $\begin{matrix} {{\Theta_{\Gamma_{0},i^{\prime}}(t)}^{T} = {2{\Gamma_{0}(t)}^{T}Qe^{F({t - t_{p,i}^{\prime}})}G_{p}{h\left( {t - t_{p,i}^{\prime}} \right)}}} & (73) \end{matrix}$

First, (71) is further decomposed into each phase separately

$\begin{matrix} {{{\Theta_{\Gamma^{\prime},{p2},i^{\prime}}(t)}^{T}=={2{\sum\limits_{j = 1}^{n_{p2}}{\Delta u_{{p2},j}{G_{p,2}^{T}\left( F^{- 1} \right)}^{T}\left( {e^{F({t - t_{{p2},j}^{\prime}})} - I} \right)^{T}{h\left( {t - t_{{p2},j}^{\prime}} \right)}Qe^{F({t - t_{p,i}^{\prime}})}G_{p}{h\left( {t - t_{p,i}^{\prime}} \right)}}}}} = {2{G_{p2}^{T}\left( F^{- 1} \right)}^{T}{\sum\limits_{j = 1}^{n_{p2}}\left( {{\Delta{u_{{p2},j}\left( {e^{F({t - t_{{p2},j}^{\prime}})} - I} \right)}^{T}Qe^{F({t - t_{p,i}^{\prime}})}{h\left( {t - t_{p,i}^{\prime}} \right)}G_{p}},} \right.}}} & (74) \end{matrix}$

where p₂ is a particular phase of (67) and t_(ij)′=max {t_(p,i)′, t_(p2,j)′}. Note that Θ_(Γ′,i′)(t)=Θ_(Γ′,a,i′)(t)+Θ_(Γ′,b,i′)(t)+Θ_(Γc,i′)(t). Its integral is split into two parts

$\begin{matrix} {c_{\Gamma^{\prime},{p2},i^{\prime}}^{T} = {{2{G_{p2}^{T}\left( F^{- 1} \right)}^{T}{\sum\limits_{j = 1}^{n_{p2}}{\left( {\Delta u_{{p2},j}{\int\limits_{0}^{T_{p}}{\left( {e^{F({t - t_{{p2},j}^{\prime}})} - I} \right)^{T}Qe^{F({t - t_{p,i}^{\prime}})}{h\left( {t - t_{ij}^{\prime}} \right)}{dt}}}} \right)G_{p}}}} = {2{G_{p2}^{T}\left( F^{- 1} \right)}^{T}{\sum\limits_{j = 1}^{n_{p2}}{\left( {\Delta{u_{{p2},j}\left( {{\int\limits_{t_{ij}^{\prime}}^{T_{p}}{\left( e^{F({t - t_{{p2},j}^{\prime}})} \right)^{T}Qe^{F({t - t_{p,i}^{\prime}})}{dt}}} - {\int\limits_{t_{ij}^{\prime}}^{T_{p}}{Qe^{F({t - t_{p,i}^{\prime}})}{dt}}}} \right)}} \right)G_{p}}}}}} & (75) \end{matrix}$

and following a time shift forward with t_(ij)′, and using algebraic manipulations similar to the derivation of (44), becomes

$\begin{matrix} {{c_{\Gamma^{\prime},{p2},i^{\prime}}^{T} = {2{G_{p2}^{T}\left( F^{- 1} \right)}^{T}{\sum\limits_{j = 1}^{n_{p2}}{\left( {\Delta{u_{{p2},j}\left( {{\left( e^{F({t_{ij}^{\prime} - t_{{p2},j}^{\prime}})} \right)^{T}{\Xi\left( {T_{p} - t_{ij}^{\prime}} \right)}} - {\int\limits_{0}^{T_{p} - t_{ij}^{\prime}}{Qe^{Ft}{dt}}}} \right)}\ e^{F({t_{ij}^{\prime} - t_{p,i}^{\prime}})}} \right)G_{p}}}}},} & (76) \end{matrix}$

where Ξ(t) is defined in (40). The second integral can be calculated using

$\begin{matrix} {{W(t)} = {\int\limits_{0}^{t}{Qe^{Ft}{dt}}}} & (77) \end{matrix}$ where $\begin{matrix} {{{e\begin{bmatrix} 0_{n_{x} \times n_{x}} & Q \\ 0_{n_{x} \times n_{x}} & F \end{bmatrix}}t} = {\begin{bmatrix} I_{n_{x}} & {\int_{0}^{t}{{Qe}^{Fr}{dr}}} \\ 0_{n_{x} \times n_{x}} & e^{Ft} \end{bmatrix} = {\begin{bmatrix} I_{n_{x}} & {W(t)} \\ 0_{n_{x} \times n_{x}} & {M(t)} \end{bmatrix}.}}} & (78) \end{matrix}$

Using (77), (76) becomes

$\begin{matrix} {c_{\Gamma^{\prime},{p2},i^{\prime}}^{T} = {2{G_{p2}^{T}\left( F^{- 1} \right)}^{T}{\sum\limits_{j = 1}^{n_{p2}}{\left( {\Delta{u_{{p2},j}\left( {{\left( e^{F({t_{ij}^{\prime} - t_{{p2},j}^{\prime}})} \right){\Xi\left( {T_{p} - t_{ij}^{\prime}} \right)}} - {W\left( {T_{p} - t_{ij}^{\prime}} \right)}} \right)}e^{F({t_{ij}^{\prime} - t_{p,i}^{\prime}})}} \right){G_{p}.}}}}} & (79) \end{matrix}$

Next consider (72), which has the same structure as (71), and after following the same derivations used in the calculation of the latter, can be stated as

$\begin{matrix} {c_{\Gamma^{*},{p2},i^{\prime}}^{T} = {2{G_{p2}^{T}\left( F^{- 1} \right)}^{T}{\sum\limits_{j = 1}^{n_{p2}^{*}}\left( {\Delta{u_{{p2},j}^{*}\left( {\left( {{e^{F({t_{ij}^{\prime*} - t_{{p2},j}^{*}})}{\Xi\left( {T_{p} - t_{ij}^{\prime}} \right)}} - {W\left( {T_{p} - t_{ij}^{\prime}} \right)}} \right)e^{F({t_{ij}^{\prime*} - t_{p,i}^{\prime}})}} \right)}{G_{p}.}} \right.}}} & (80) \end{matrix}$

where t_(ij)′*=max{t_(p,i)′t_(p2,j)*}.

Lastly, consider (73), which can be re-written as

Θ_(Γ) ₀ _(,i′)(t)^(T)=2Δu _(abc,0) ^(T) G ^(T)(F ⁻¹)^(T)(e ^(Ft) −I)^(T) Qe ^(F(t−t) ^(p,i) ^(′)) G _(p) h(t−t _(p,i)′).  (81)

Its integral is also split into two parts

$\begin{matrix} {c_{\Gamma_{0,i}}^{T} = {2\Delta u_{{abc},0}^{T}{G^{T}\left( F^{- 1} \right)}^{T}\left( {{\int\limits_{t_{p,i}^{\prime}}^{T_{p}}{\left( e^{Ft} \right)^{T}Qe^{F({t - t_{p,i}^{\prime}})}{dt}}} - {\int\limits_{t_{p,i}^{\prime}}^{T_{p}}{Qe^{F({t - t_{p,i}^{\prime}})}{dt}}}} \right)G_{p}}} & (82) \end{matrix}$

and following a time shift forward by t_(p,i) becomes

$\begin{matrix} {c_{\Gamma_{0,i^{\prime}}}^{T} = {2\Delta u_{{abc},0}^{T}{G^{T}\left( F^{- 1} \right)}^{T}\left( {{\left( e^{{Ft}_{p,i}^{\prime}} \right)^{T}{\int\limits_{0}^{T_{p} - t_{p,i}^{\prime}}{\left( e^{Ft} \right)^{T}Qe^{Ft}{dt}}}} - {\int\limits_{0}^{T_{p} - t_{p,i}^{\prime}}{Qe^{Ft}dt}}} \right){G_{p}.}}} & (83) \end{matrix}$

Using (41) and (77), (83) becomes

c _(Γ) _(0,i′) ^(T)=2Δu _(abc,0) ^(T) G ^(T)(F ⁻¹)^(T)((e ^(Ft) ^(p,i) ^(′))^(T)Ξ(T _(p) −t _(p,i)′)−W(T _(p) −t _(p,i)′))G _(p).  (84)

Symbols

-   t Time, t∈     ⁺ -   k Discrete time step, k∈ -   d Pulse number, d∈ -   m Modulation index, m∈ [0,4/π] -   p A particular phase, p∈{a, b, c} -   u_(p,i) ith single-phase switch position of phase p,     u_(p,i)∈{−1,0,1} -   Δu_(p,i) ith switching transition in phase p, Δu_(p,i)∈{−1,1} -   λ_(p,i) ith impulse strength (also known as the voltage-time value)     in phase p, λ_(p,i)∈ -   Λ Vector of impulse strengths (also known as the vector of     voltage-time values) over the horizon, Λ∈     ^(n) ^(sw) -   t_(p,i)* ith nominal switching instant of phase p -   t_(p,i)′ ith incumbent switching instant of phase p -   t_(p,i) ith modified switching instant of phase p -   Δt_(p,i) ith switching instant modification of phase p,     Δt_(p,i)=t_(p,i)−t_(p,i)′ -   u_(abc)*(t) Three-phase nominal pulse pattern -   u_(abc)(t) Three-phase incumbent pulse pattern -   u_(mod,abc)(t) Three-phase modified pulse pattern -   ũ(t) Three-phase small-signal pulse pattern, defined as     ũ(t)=u_(mod,abc)(t)−u_(abc)(t) -   ū(t) Three-phase difference pulse pattern, defined as     ū(t)=−u_(abc)(t)−u*_(abc)(t) -   X(t) State vector -   x*(t) Optimal (reference) trajectory of the state vector -   {tilde over (x)}(t) Small-signal error, defined as: {tilde over     (x)}(t)=x(t)−x*(t) -   T_(p) Prediction horizon in time, T_(p)∈     ⁺ -   T_(s) Sampling interval of the controller, T_(s)∈     ⁺ -   n_(p) Number of switching transitions in phase p occurring within     the horizon -   n_(sw) Total number of switching transitions within horizon,     n_(sw)=n_(a)+n_(b)+n_(c) -   F System matrix in the continuous-time domain -   G Input matrix in the continuous-time domain -   P Parameter matrix in the continuous-time domain -   H Hessian matrix in the QP -   c Column vector in the QP

Variables

-   z(t) Scalar quantity in the continuous-time domain -   z Column vector referring to, e.g., a three-phase quantity

Abbreviations

-   ac Alternating current -   dc Direct current -   MPC Model predictive control -   MP³C Model predictive pulse pattern control -   NPC Neutral-point-clamped -   OPP Optimized pulse pattern -   PWM Pulse width modulation -   QP Quadratic program -   rms Root-mean-square

While embodiments of the present disclosure have been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the present disclosure is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art from a study of the drawings, the disclosure, and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. A single processor or controller or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope. 

1. A method for controlling an electrical converter system, the method comprising: determining a nominal pulse pattern (t_(p,i)*, Δu_(p,i)) and a reference trajectory (x*) of at least one electrical quantity of the electrical converter system over a horizon of future sampling instants, wherein the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*) and the reference trajectory (x*) are determined from a table of optimized pulse patterns, the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*) comprises switching transitions (Δu_(p,i)*) between output voltages of an electrical converter of the electrical converter system, and the reference trajectory (x*) indicates a desired future development of an electrical quantity of the converter system; determining a small-signal pulse pattern (ũ_(abc) (t, λ_(p,i))) by minimizing a cost function, wherein the cost function includes a small-signal error, wherein the small-signal error is based on a difference of the reference trajectory (x*) and a predicted trajectory (x), wherein impulse strengths (λ_(p,i)) of the small-signal pulse pattern (ũ_(abc) (t,λp,i)) encode a voltage-time value at each switching transition of the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*), and wherein the predicted trajectory (x) is determined over the horizon from measurements (i, v_(c), i_(g)) in the converter system and from a model of the converter system, into which a sum of the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*) and small-signal pulse pattern (ũ_(abc) (t,λ_(p,i))) are input; determining a modified pulse pattern (t_(opt,p,i), Δu_(p,i)) by moving the switching transitions of the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*) to generate modified switching transitions, wherein a switching transition is moved by a time interval, such that the time interval times a direction of the switching transition equals the voltage-time value that the impulse strength (λ_(p,i)) encodes at a nominal switching transition of the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*); and applying at least a next switching transition of the modified pulse pattern (t_(opt,p,i), Δu_(p,i)) to the electrical converter system.
 2. The method of claim 1, wherein switching transitions of the modified pulse pattern (t_(opt,p,i), Δu_(p,i)) during a current sampling interval are applied to the electrical converter system, and wherein, during the current sampling interval, the small-signal pulse pattern (ũ_(abc) (t, λ_(p,i))) and the modified pulse pattern (t_(opt,p,i), Δu_(p,i)) are determined again for a horizon starting at a next sampling interval.
 3. The method of claim 1, wherein the cost function is a quadratic function in the impulse strengths (λ_(p,i)), which are arranged into a vector of impulse strengths (Λ), wherein the cost function comprises a quadratic term with a model matrix (V), which is multiplied at both sides by the vector of impulse strengths (Λ) and a linear term with a model vector (c) multiplied by the vector of impulse strengths (Λ), and wherein the model matrix (V) and the model vector (c) are determined from measurements (i, v_(c), i_(g)) in the converter system, the reference trajectory (x*), and the small-signal pulse pattern (ũ_(abc)(t,λ_(p,i))) such that the cost function encodes the small-signal error.
 4. The method of claim 1, wherein the cost function additionally minimizes a magnitude of the impulse strengths (λ_(p,i)).
 5. The method of claim 1, wherein the cost function comprises a quadratic term with a penalty matrix (R), which is multiplied at both sides by a vector of impulse strengths (Λ).
 6. The method of claim 1, wherein the small-signal pulse pattern (ũ_(abc)(t,λ_(p,i))) is determined by minimizing the cost function subject to constraints, and wherein the impulse strengths (λ_(p,i)) of the small-signal pulse pattern (ũ_(abc) (t,λ_(p,i))) are constrained, such that the modified switching transitions in the same phase stay in an original order.
 7. The method of claim 1, wherein the small-signal pulse pattern (ũ_(abc)(t,λ_(p,i))) is determined by solving a quadratic program into which the reference trajectory (x*), the measurements (i, v_(c), i_(g)), and the small-signal pulse pattern (ũ_(abc)(t,λ_(p,i))) are input.
 8. The method of claim 1, further comprising: determining an incumbent pulse pattern (t_(p,i)′, Δu_(p,i)) over the horizon, wherein the incumbent pulse pattern (t_(p,i)′, Δu_(p,i)) comprises the modified switching transitions (t_(opt,p,i)) determined at a previous sampling instant and remaining switching transitions of the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*) up to the horizon, wherein the predicted trajectory (x) is determined from the model of the converter system, into which a sum of the incumbent pulse pattern (t_(p,i)′, Δu_(p,i)) and small-signal pulse pattern (ũ_(abc)(t, λ_(p,i)) are input.
 9. The method of claim 8, wherein the impulse strengths (λ_(p,i)) of the small-signal pulse pattern (ũ_(abc)(t, λ_(p,i))) are positioned at each switching transition of the incumbent pulse pattern (t_(p,i)′, Δu_(p,i)), and wherein a difference pulse pattern (ū_(abc)(t)) is determined, which encodes at least one rectangular voltage-time area compensating a difference between the nominal pulse pattern (t_(p,i)*, Δu_(p,i)*) and the incumbent pulse pattern (t_(p,i)′, Δu_(p,i)).
 10. The method of claim 1, wherein the optimized pulse patterns and/or the at least one reference trajectory (x*) are determined offline and stored in a lookup table.
 11. A computer program, which when executed by a processor is adapted for performing the method of claim
 1. 12. A non-transitory computer-readable medium, in which a computer program according to claim 11 is stored.
 13. A controller for an electrical converter adapted for performing the method of claim
 1. 14. A converter system, comprising: an electrical converter interconnected with an electrical grid; and a controller according to claim 13 for controlling the electrical converter.
 15. The converter system of claim 14, further comprising: a resonant subsystem comprising at least one of inductors and a filter, wherein the model of the converter system used during optimizing the cost function includes a model of the electrical converter and the resonant subsystem. 